Error correction is a technique widely used to increase accuracy of transmitted data as well to reduce the amount of data that must be retransmitted. While the typical error rate in wired systems is almost negligible, the error rate for wireless radio communications is significant. Typically the key to error correction is redundancy. Error correction techniques such as Reed-Solomon and Viterbi typically transmit 1.5-3 times the amount of original data in order to send enough information to enable the receiver to detect and correct errors.
Data in typical data streams has two states: 0 and 1. During transmission, bits may become inverted due to noise and/or a faded signal. Conventional error correction schemes must first detect if a data stream has corrupted bits and then identify which bits are corrupted before it can begin to correct the identified corrupted bits. Due to the difficulties in determining which bits are corrupted, most error correction schemes can only correct a limited number of corrupted bits, if any at all. If corrupted data in the data stream cannot be corrected, the data is retransmitted until it is correctly received. Wireless systems that operate in noisy environments (such as the 2.4 GHz Industrial Scientific Medial (ISM) band) must transmit considerable amounts of error correction information in order to reliably receive and correct data. This error correction information creates overhead that reduces the effective bandwidth of the system and increases power consumption.
An error-correction solution is needed that has low overhead and is reliable in noisy environments.